Puppeteer 模組提供了一個方法去實現Chromium。
文件上有提供一個範例
const puppeteer = require('puppeteer');
//.then這個方法是promis產生的
puppeteer.launch().then(async browser => {
const page = await browser.newPage();
await page.goto('https://www.google.com');
// other actions...
await browser.close();
});
這跟我們之前用的是一樣的
我們開始介紹class: Puppeteer的參數
在文章裡出現中的'[]'代表裡面的參數是可填可不填。
想要看詳細的option可以點選連結到doc裡面看。
puppeteer.connect(options)
這個connect方法可以讓puppeteer連接到現有啟動的Chromium
puppeteer.createBrowserFetcher([options])
這個可以建立一個新的BrowserFetcher實例。BrowserFetcher可以下載和管理不同版本的Chromium。
像是DOC上的範例
//建立一個browserFetcher實例
const browserFetcher = puppeteer.createBrowserFetcher();
//下在一個版本533271的Chromium
const revisionInfo = await browserFetcher.download('533271');
//接著指定puppeteer去與這版本的Chromium溝通
const browser = await puppeteer.launch({executablePath: revisionInfo.executablePath})
Chromium版本可以在這個網站取得http://omahaproxy.appspot.com/
之後還會介紹到
puppeteer.defaultArgs([options])
可以設定Chromium預設啟動的flags,像之前我們用過的headless,headless = true or false可以判斷看不看的到ui。
也可以在launch時帶參數就好
puppeteer.executablePath()
會回傳一個路徑,Puppeteer可以藉由這個路徑去找到Chromium。
上面的executablePath也就是設定要launch的Chromium位置,
而revisionInfo就是剛下載完的資訊
const browser = await puppeteer.launch({executablePath: revisionInfo.executablePath})
puppeteer.launch([options])
這就是基本的launch可以不帶參數,也可以帶像是env,ignoreHTTPSErrors等等。
文件中可以看的到,有需要再去查就好。
官網還有給出一個範例
//把瀏覽器的聲音關掉
const browser = await puppeteer.launch({
ignoreDefaultArgs: ['--mute-audio']
});